# 元组: tuple, 元组的特点和列表⾮常相似
# 1. 元组中可以存放任意类型的数据
# 2. 元组中可以存放任意多个数据
# 1. 使⽤ 类实例化的⽅式
# 2. 直接使⽤ () ⽅式
# 区别:
# 1. 元组中的数据内容不能改变, 列表中的可以改变的
# 2. 元组使⽤ (), 列表 使⽤ []
# 应⽤: 在函数的传参或者返回值中使⽤, 保证数据不会被修改
# 由于元组中的数据不能修改,所以只有查看的⽅法
# 1. 在元组中也可以使⽤ 下标和切⽚获取数据
# 2. 在元组中存在 index ⽅法, 查找下标, 如果不存在,会报错
# 3. 在元组中存在 count ⽅法, 统计数据出现的次数
# 4. 在元组中可以使⽤ in 操作, 判断数据是否存在
# 5. len() 统计个数
# 以上⽅法的使⽤ 和列表中⼀样的
# 1, 类实例化的⽅式
# 1.1 定义空元祖(不会使⽤的)
my_tuple1 = tuple()
print(type(my_tuple1), my_tuple1) # <class 'tuple'>
()
# 1.2 类型转换
# 可以将列表转换为元组, 只需要将 [], 变为 (), 同时 可以将元组转换列表 , 将() 变为 []
my_tuple2 = tuple([1, 2, 3])
print(my_tuple2) # (1, 2, 3)
# 转换字符串, 和列表中⼀样,只是将列表的[] 变为()
my_tuple3 = tuple('hello')
print(my_tuple3) # ('h', 'e', 'l', 'l', 'o')
# 2. 直接使⽤ () 定义
my_tuple4 = (1, "⼩王", 3.14, False)
print(my_tuple4)
# 3. 特殊点, 定义只有⼀个数据的元组时, 数据后边必须有⼀个逗号
my_tuple5 = (1,)
print(my_tuple5) # (1,)
print(my_tuple4[1]) # ⼩王
